package cn.template.serve_project.service;


import cn.template.serve_project.dto.admin.AdminAddDTO;
import cn.template.serve_project.dto.admin.AdminPageDTO;
import cn.template.serve_project.dto.admin.AdminUpdateDTO;
import cn.template.serve_project.dto.excel.ExcelAdminDTO;
import cn.template.serve_project.entity.Admin;
import cn.template.serve_project.vo.admin.AdminPageVO;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;


/**
 * 角色用户关联表(Admin)表服务接口
 *
 */
public interface AdminService extends IService<Admin> {

    /**
     * 新增管理员
     * @param adminAddDTO 参数对象
     */
    void addAdmin(AdminAddDTO adminAddDTO);

    /**
     * 分页查询管理员信息(Admin)
     *
     * @param dto 参数对象
     * @return 数据列表
     */
    AdminPageVO selectPage(AdminPageDTO dto);


    /**
     * 根据id列表删除(Admin)
     *
     * @param idList id列表
     * @return 成功数
     */
    Integer deleteInIdList(List<Long> idList);


    /**
     * 变更管理员信息(Admin)
     *
     * @param user 参数对象
     */
    void updateAdmin(AdminUpdateDTO user);


    /**
     * 导出报表
     *
     * @param excelObj 导出对象
     * @param response 网络请求对象
     */
    void export(ExcelAdminDTO excelObj, HttpServletResponse response) throws IOException;
}
